#ifndef _BOARD_M_H_
#define _BOARD_M_H_
#include "stm8s_conf.h"

#define USE_ADC_DET				0

#define Delay100K				100
#define Delay10ms				10000
#define Delay200us				200

#define LED1_HIGH	GPIO_WriteHigh(LED1_PORT, LED1_PIN);
#define LED1_LOW	GPIO_WriteLow(LED1_PORT, LED1_PIN);

#define LED2_HIGH	GPIO_WriteHigh(LED2_PORT, LED2_PIN);
#define LED2_LOW	GPIO_WriteLow(LED2_PORT, LED2_PIN);


#define LED1_PORT		GPIOC
#define LED2_PORT		GPIOC
#define LED1_PIN		GPIO_PIN_4
#define LED2_PIN		GPIO_PIN_3

//#define LED1_MASK_BIT	(1<<LED1_PIN)
//#define LED2_MASK_BIT	(1<<LED2_PIN)
#define LED1_MASK_BIT	(LED1_PIN)
#define LED2_MASK_BIT	(LED2_PIN)

#define LED_MASK_BIT	(LED1_MASK_BIT|LED2_MASK_BIT)
#define SET_LED1(X,Y)	(X=((X&(~LED1_MASK_BIT))|(Y?LED1_PIN:0)))///0X10
#define SET_LED2(X,Y)	(X=((X&(~LED2_MASK_BIT))|(Y?LED2_PIN:0)))

//#define SET_LED1(X,Y)	(X|=(Y&LED1_PIN))
//#define SET_LED2(X,Y)	(X|=(Y&LED2_PIN))



#define PWM1_PORT	GPIOC
#define PWM2_PORT	GPIOC
#define PWM1_PIN	GPIO_PIN_7
#define PWM2_PIN	GPIO_PIN_6
#define PWMOUT_ON	(TIM1_CtrlPWMOutputs(ENABLE))
#define PWMOUT_OFF	(TIM1_CtrlPWMOutputs(DISABLE))


#if USE_ADC_DET==1
#define ADCV_PORT	GPIOD
#define ADCC_PORT	GPIOD
#define ADCV_PIN	GPIO_PIN_3
#define ADCC_PIN	GPIO_PIN_5
#endif




#define CCR1_Val  ((u16)5)
#define CCR2_Val  ((u16)5)
#define CCR3_Val  ((u16)5)
#define CCR4_Val  ((u16)511)

#define TIM1_PRESCALER_8	7
#define PWMOUT100K			9




void Timer_Init(void);
void BSP_Init(void);
void IO_Init(void);
void LED_IOCTL(const unsigned char LED_STATUS);

#endif
